package cn.edu.sgu.www.pms.mapper;

import cn.edu.sgu.www.pms.entity.Menu;
import cn.edu.sgu.www.pms.entity.RoleMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
@Repository
public interface RoleMenuMapper extends BaseMapper<RoleMenu> {

    /**
     * 通过用户ID查询角色的子菜单
     * @param userId 用户ID
     * @return List<Menu>
     */
    List<Menu> selectRoleMenus(@Param("userId") String userId);

    /**
     * 通过角色ID分页查询角色的菜单列表
     * @param page 分页参数
     * @param roleId 通过角色ID
     * @return Page<Menu>
     */
    Page<Menu> selectPageByRoleId(Page<Menu> page, @Param("roleId") Integer roleId);

    /**
     * 通过角色ID分页查询角色没有的菜单列表
     * @param page 分页参数
     * @param roleId 通过角色ID
     * @return Page<Menu>
     */
    Page<Menu> selectPageUnselected(Page<Menu> page, @Param("roleId") Integer roleId);
}